package cn.easytogo.service;

import java.sql.SQLException;
import java.util.List;
import java.util.Map;

public interface IBaseDAO {
	/**
	 * 插入数据
	 * */
	public abstract Object insert(String s, Object obj)
		throws SQLException;
	/**
	 * 插入数据
	 * */
	public abstract Object insert(String s)
	    throws SQLException;
	/**
	 * 更新数据
	 * */
	public abstract int update(String s, Object obj)
	    throws SQLException;
	/**
	 * 更新数据
	 * */
	public abstract int update(String s)
	    throws SQLException;
	/**
	 * 删除数据
	 * */
	public abstract int delete(String s, Object obj)
	    throws SQLException;
	/**
	 * 删除数据
	 * */
	public abstract int delete(String s)
	    throws SQLException;
	/**
	 * 通过指定条件查询数据以Object形式返回
	 * */
	public abstract Object queryForObject(String s, Object obj)
	    throws SQLException;
	/**
	 * 通过指定条件查询数据以Object形式返回
	 * */
	public abstract Object queryForObject(String s)
	    throws SQLException;
	/**
	 * 通过指定条件查询数据以Object形式返回
	 * */
	public abstract Object queryForObject(String s, Object obj, Object obj1)
	    throws SQLException;
	/**
	 * 通过指定条件查询数据以List形式返回
	 * */
	public abstract List queryForList(String s)
	    throws SQLException;
	/**
	 * 通过指定条件查询数据以List形式返回
	 * */
	public abstract List queryForList(String sql, Object obj) 
		throws SQLException;
	/**
	 * 通过指定条件查询数据以List形式返回
	 * */
	public abstract List queryForList(String s, Object obj, int i, int j)
	    throws SQLException;
	/**
	 * 通过指定条件查询数据以List形式返回
	 * */
	public abstract List queryForList(String s, int i, int j)
	    throws SQLException;
	/**
	 * 通过指定条件查询数据以Map形式返回(如果有多条数据只返回第一条)
	 * */
	public abstract Map queryForMap(String s, Object obj)
		throws SQLException;
	/**
	 * 通过指定条件查询数据以Map形式返回
	 * */
	public abstract Map queryForMap(String s, Object obj, String s1)
		throws SQLException;
	/**
	 * 通过指定条件查询数据以Map形式返回
	 * */
	public abstract Map queryForMap(String s, Object obj, String s1, String s2)
	    throws SQLException;
	/**
	 * 事务控制,开始
	 * */
	public abstract void startTransaction() throws SQLException;
	/**
	 * 事务控制,提交
	 * */
	public abstract void commitTransaction() throws SQLException;
	/**
	 * 事务控制,结束
	 * */
	public abstract void endTransaction() throws SQLException;
}
